(function () {
	function app_icon(exts, cl, style) {
		const iconsPath = 'https://ss.uooio.keenetic.pro:50005/static/uo-tashtagol.kemobl.ru/img/icons'
		const icons_ext = {
			'pdf': `${iconsPath}/pdf-icon.png`,
			'doc': `${iconsPath}/doc-icon.png`,
			'docx': `${iconsPath}/docx-icon.png`,
			'xls': `${iconsPath}/xls-icon.png`,
			'xlsx': `${iconsPath}/xlsx-icon.png`,
			'ppt': `${iconsPath}/ppt-icon.png`,
			'pptx': `${iconsPath}/ppt-icon.png`,
			'zip': `${iconsPath}/zip-icon.png`,
			'rar': `${iconsPath}/rar-icon.png`,
			'rtf': `${iconsPath}/rtf-icon.png`
		}
			, links = this.document.querySelectorAll('a[href]');
		if (typeof exts === 'string') {
			exts = [exts]
		} else if (!Array.isArray(exts)) {
			console.warn('Нужно передать массив или строку!');
			return
		}
		if (links) {
			for (let i = 0; i < links.length; i++) {
				for (let q = 0; q < exts.length; q++) {
					if (check_link(links[i], exts[q])) {
						if (icons_ext.hasOwnProperty(exts[q])) {
							add_icon(links[i], get_icon_path(exts[q]), style, cl);
						} else {
							console.warn('Не найдена иконка для: ' + exts[q])
						}
					}
				}
			}
		}
		function add_icon(lnk, icon, style, cl = 'doc-icon') {
			if (lnk && icon && !lnk.getElementsByClassName(cl).length) {
				style = style !== '' && style !== undefined ? style : 'height:22px;width:22px;position:relative;top:4px;right:3px;vertical-align:middle';
				icon = '<img class="' + cl + '" src="' + icon + '" style="' + style + '">';

				lnk.insertAdjacentHTML('afterBegin', icon);
			}
		}
		function check_link(lnk, ext) {
			if (lnk.classList.contains('doc-icon-off')) return false;
			return (lnk.href.toLowerCase().lastIndexOf('.' + ext.toLowerCase()) >= 0)
		}
		function get_icon_path(ext) {
			for (i_ext in icons_ext) {
				if (i_ext == ext)
					return icons_ext[i_ext];
			}
		}
	}
	let onload = () => { app_icon(['pdf', 'docx', 'doc', 'xlsx', 'xls', 'pptx', 'ppt', 'zip', 'rar', 'rtf']); }
	if (document.readyState === 'complete') {
		onload();
	} else {
		window.addEventListener('load', onload);
	}
})()